function debounce(fn, delay) {
  // 定时器变量
  let timerId;
  return function (...args) {
    // 判断
    if (timerId) {
      // 清空定时器
      clearTimeout(timerId);
    }
    // 开启定时器执行函数
    timerId = setTimeout(() => {
      fn.apply(this, args);
      // 执行完成清空当前定时器,防止下次进来走到if逻辑
      timerId = null;
    }, delay);
  };
}
